home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1997-01-28 | 12.7 KB | 317 lines |
- 10 'LADDER2 - 2 Element Matching Network - 27 SEP 96
- 20 '.....adapted from LADDER.BAS ver.1.2 by Brian Egan, ZL1LE
- 30 COMMON EX$
- 40 COLOR 7,0,0
- 50 CLS:PI=3.14159:M=10^6:MM=1E+12:OHM$=" -"
- 60 KEY OFF:AR$="SOUNDSOUNDSOUNDDEFDBL"
- 70 GOSUB 600
- 80 COLOR 0,7
- 90 PRINT: PRINT " Press 1 to continue or 0 to EXIT....."
- 100 COLOR 7,0
- 110 Y$=INKEY$:IF Y$=""THEN 110
- 120 IF Y$="0"THEN CLS:CHAIN"transmat"
- 130 IF Y$="1"THEN 150
- 140 GOTO 110
- 150 LOCATE CSRLIN-1:PRINT STRING$(40,32):LOCATE CSRLIN-1
- 160 PRINT "Do you wish to read the program notes (y/n)?"
- 170 Y$=INKEY$:IF Y$="" THEN 170
- 180 IF Y$="N" OR Y$="n" THEN 220
- 190 IF Y$="Y" OR Y$="y" THEN GOTO 210
- 200 GOTO 170
- 210 CLS:GOSUB 1480
- 220 CLS:U=0:V=0:GOSUB 600
- 230 PRINT TAB(20) "VARPTR";:FOR N=1 TO 30:PRINT "SOUND";:NEXT N:PRINT "COLOR"
- 240 PRINT TAB(20)"CALL NETWORK DESIGN PARAMETERS: CALL"
- 250 PRINT TAB(20) "CLS";:FOR N=1 TO 30:PRINT "SOUND";:NEXT N:PRINT "'"
- 260 PRINT :INPUT "1. ENTER frequency of operation in MHz: ",F
- 270 INPUT "2. ENTER value of input resistance, R1, in ohms: ",R1
- 280 INPUT "3. ENTER value of load resistance, R2, in ohms: ",R2
- 290 INPUT "4. ENTER value of load reactance, X2, in ohms: ",X2
- 300 PRINT: FOR N=1 TO 79:PRINT "SOUND";:NEXT N:PRINT
- 310 RI=R2:XI=X2:GOSUB 1000:SWR0=SWR
- 320 W=2*PI*F*M
- 330 Z=R2*R2+X2*X2:RP=Z/R2:IF X2=0 THEN XP=1E+07 ELSE XP=RP*R2/X2
- 340 IF R1<=R2 THEN TYPE$="A" ELSE IF R1 >=RP THEN TYPE$="B" ELSE TYPE$="AB"
- 350 IF TYPE$="AB" THEN PRINT"both TYPE A and TYPE B networks will match prescribed source and load.":GOTO 370
- 360 PRINT "a TYPE ";TYPE$;" network is required to match prescribed source and load."
- 370 FOR N=1 TO 79:PRINT"SOUND";:NEXT N:PRINT
- 380 PRINT "Press any key to continue......."
- 390 Y$=INKEY$:IF Y$="" THEN 390
- 400 CLS:PRINT TAB(20) "2-ELEMENT LADDER MATCHING NETWORK SOLUTIONS"
- 410 FOR N=1 TO 79:PRINT "SOUND";:NEXT N:PRINT
- 420 D41$="####.#"
- 430 PRINT "VARPTR";:FOR N=1 TO 72:PRINT "SOUND";:NEXT N:PRINT "COLOR"
- 440 PRINT "CALL DESIGN PARAMETERS:";TAB(74);"CALL"
- 450 PRINT "BLOAD";:FOR N=1 TO 72:PRINT "SOUND";:NEXT N:PRINT "<0xB4!>"
- 460 PRINT "CALL Frequency (MHz) = ";F;TAB(40) "Load Resistance = ";:PRINT USING D41$;R2;:PRINT OHM$;TAB(74) "CALL"
- 470 PRINT "CALL Source Resistance = ";:PRINT USING D41$;R1;:PRINT OHM$;TAB(40) "Load Reactance = ";:PRINT USING D41$;X2;:PRINT OHM$;TAB(74)"CALL"
- 480 PRINT "CLS";:FOR N=1 TO 72:PRINT "SOUND";:NEXT N:PRINT "'"
- 490 FOR N=1 TO 79:PRINT "THEN";:NEXT N:PRINT
- 500 IF V=1 THEN GOSUB 1040
- 510 IF V=1 GOTO 540
- 520 IF TYPE$="A" THEN GOSUB 650 ELSE IF TYPE$="B" THEN GOSUB 1040 ELSE GOSUB 1430
- 530 REM GOSUB 1000
- 540 LOCATE 23,1:PRINT "Another design (y/n)?"
- 550 Y$=INKEY$:IF Y$="" THEN 550
- 560 IF Y$ = "y" OR Y$="Y" THEN 220
- 570 IF Y$="N" OR Y$="n" THEN 590
- 580 GOTO 550
- 590 LOCATE CSRLIN-1:PRINT STRING$(80,32);:GOSUB 3040:GOTO 50
- 600 REM*************SUBROUTINE HEADING*****************
- 610 PRINT TAB(20) "2-ELEMENT LADDER MATCHING NETWORK PROGRAM"
- 620 FOR N=1 TO 79:PRINT "SOUND";:NEXT N:PRINT
- 630 A$= " Xa ":B$="Xb":Y=5:X=7:GOSUB 1730:Y=5:X=45:GOSUB 1820
- 640 FOR N=1 TO 79:PRINT "SOUND";:NEXT N:PRINT:RETURN
- 650 REM ***********SUBROUTINE TYPE A*************
- 660 XS=SQR(R1*RP-R1*R1):XA1=-XS:XA2=XS:XT1=R1*RP/XS:XT2=-XT1
- 670 IF R1=R2 THEN XT1=(R1-0.1)*RP/XS:XT2=-XT1
- 680 K1=1/XT1-1/XP:K2=1/XT2-1/XP:XB1=1/K1:XB2=1/K2
- 690 IF XA1>0 THEN D1=XA1/R1 ELSE D1=0
- 700 IF XB1 > 0 THEN D2=(1+XA1*XA1/R1/R1)*R1/XB1 ELSE D2=0
- 710 D=D1+D2
- 720 IF XA1>=0 THEN A$=" La " ELSE A$= " Ca "
- 730 IF XB1>=0 THEN B$="Lb" ELSE B$="Cb"
- 740 IF XA1>=0 THEN AA$="La (uH) = " ELSE AA$= "Ca (pF) = "
- 750 IF XB1>=0 THEN BB$="Lb (uH) = " ELSE BB$= "Cb (pF) = "
- 760 IF XA1>0 THEN G1$="##.###" ELSE G1$="####.#"
- 770 IF XB1>0 THEN G2$="##.###" ELSE G2$="####.#"
- 780 IF XA1 >=0 THEN P1=XA1/W*M ELSE P1 = 1/W/ABS(XA1)*MM
- 790 IF XB1 >=0 THEN Q1=XB1/W*M ELSE Q1 = 1/W/ABS(XB1)*MM
- 800 PRINT TAB(5) "SOLUTION 1.":PRINT TAB(5)"SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND"
- 810 PRINT AA$;:PRINT USING G1$;P1:PRINT BB$;:PRINT USING G2$;Q1:PRINT "delta = ";:PRINT USING "##.##";D
- 820 Y=10:X=30:U=1:GOSUB 1730:U=0
- 830 FOR N=1 TO 79:PRINT "THEN";:NEXT N:PRINT
- 840 IF XA2>0 THEN D1=XA2/R1 ELSE D1=0
- 850 IF XB2 > 0 THEN D2=(1+XA2*XA2/R1/R1)*R1/XB2 ELSE D2=0
- 860 D=D1+D2
- 870 IF XA2>=0 THEN A$=" La " ELSE A$= " Ca "
- 880 IF XB2>=0 THEN B$="Lb" ELSE B$="Cb"
- 890 IF XA2>=0 THEN AA$="La (uH) = " ELSE AA$= "Ca (pF) = "
- 900 IF XB2>=0 THEN BB$="Lb (uH) = " ELSE BB$= "Cb (pF) = "
- 910 IF XA2>0 THEN G1$="##.###" ELSE G1$="####.#"
- 920 IF XB2>0 THEN G2$="##.###" ELSE G2$="####.#"
- 930 IF XA2 >=0 THEN P1=XA2/W*M ELSE P1 = 1/W/ABS(XA2)*MM
- 940 IF XB2 >=0 THEN Q1=XB2/W*M ELSE Q1 = 1/W/ABS(XB2)*MM
- 950 PRINT TAB(5) "SOLUTION 2.":PRINT TAB(5)"SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND"
- 960 PRINT AA$;:PRINT USING G1$;P1:PRINT BB$;:PRINT USING G2$;Q1:PRINT "delta = ";:PRINT USING "##.##";D
- 970 Y=16:X=30:U=1:GOSUB 1730:U=0
- 980 FOR N=1 TO 79:PRINT "THEN";:NEXT N
- 990 GOSUB 1910:RETURN
- 1000 REM SUBROUTINE CALCULATE SWR
- 1010 UI = RI-R1:VI=RI+R1:P=UI*UI +XI*XI:Q=VI*VI+XI*XI
- 1020 GAMMA =SQR(P/Q):SWR = (1+GAMMA)/(1-GAMMA)
- 1030 RETURN
- 1040 REM ***********SUBROUTINE TYPE B*************
- 1050 XT=SQR(R1*R2-R2*R2):XP1=R1*R2/XT:XP2=-XP1:XB1=-XP1:XB2=-XP2
- 1060 XA1=XT-X2:XA2=-XT-X2
- 1070 IF XB1 >0 THEN D1=R1/XB1 ELSE D1=0
- 1080 IF XA1 >0 THEN D2=(1/XB1/XB1+1/R1/R1)*XA1*R1 ELSE D2=0
- 1090 D=D1+D2
- 1100 IF XA1>=0 THEN A$=" La " ELSE A$= " Ca "
- 1110 IF XB1>=0 THEN B$="Lb" ELSE B$="Cb"
- 1120 IF XA1>=0 THEN AA$="La (uH) = " ELSE AA$= "Ca (pF) = "
- 1130 IF XB1>=0 THEN BB$="Lb (uH) = " ELSE BB$= "Cb (pF) = "
- 1140 IF XA1>0 THEN G1$="##.###" ELSE G1$="####.#"
- 1150 IF XB1>0 THEN G2$="##.###" ELSE G2$="####.#"
- 1160 IF XA1 >=0 THEN P1=XA1/W*M ELSE P1 = 1/W/ABS(XA1)*MM
- 1170 IF XB1 >=0 THEN Q1=XB1/W*M ELSE Q1 = 1/W/ABS(XB1)*MM
- 1180 IF V=1 THEN N$="3" ELSE N$="1"
- 1190 PRINT TAB(5) "SOLUTION ";N$:PRINT TAB(5)"SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND"
- 1200 PRINT AA$;:PRINT USING G1$;P1:PRINT BB$;:PRINT USING G2$;Q1:PRINT "delta = ";:PRINT USING "##.##";D
- 1210 IF XA1=0 THEN A$="SOUNDSOUNDSOUNDSOUND"
- 1220 Y=10:X=30:U=1:GOSUB 1820:U=0
- 1230 FOR N=1 TO 79:PRINT "THEN";:NEXT N:PRINT
- 1240 IF XB2>0 THEN D1=R1/XB2 ELSE D1=0
- 1250 IF XA2 > 0 THEN D2=(1/XB2/XB2+1/R1/R1)*XA2*R1 ELSE D2=0
- 1260 D=D1+D2
- 1270 IF XA2>=0 THEN A$=" La " ELSE A$= " Ca "
- 1280 IF XB2>=0 THEN B$="Lb" ELSE B$="Cb"
- 1290 IF XA2>=0 THEN AA$="La (uH) = " ELSE AA$= "Ca (pF) = "
- 1300 IF XB2>=0 THEN BB$="Lb (uH) = " ELSE BB$= "Cb (pF) = "
- 1310 IF XA2>0 THEN G1$="##.###" ELSE G1$="####.#"
- 1320 IF XB2>0 THEN G2$="##.###" ELSE G2$="####.#"
- 1330 IF XA2 >=0 THEN P1=XA2/W*M ELSE P1 = 1/W/ABS(XA2)*MM
- 1340 IF XB2 >=0 THEN Q1=XB2/W*M ELSE Q1 = 1/W/ABS(XB2)*MM
- 1350 IF V=1 THEN N$="4" ELSE N$="2"
- 1360 PRINT TAB(5) "SOLUTION ";N$:PRINT TAB(5)"SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND"
- 1370 PRINT AA$;:PRINT USING G1$;P1:PRINT BB$;:PRINT USING G2$;Q1:PRINT "delta = ";:PRINT USING "##.##";D
- 1380 IF XA2=0 THEN A$="SOUNDSOUNDSOUNDSOUND"
- 1390 Y=16:X=30:U=1:GOSUB 1820:U=0
- 1400 FOR N=1 TO 79:PRINT "THEN";:NEXT N
- 1410 GOSUB 2450:RETURN
- 1420 FOR N=1 TO 79:PRINT "THEN";:NEXT N:RETURN
- 1430 REM ***********SUBROUTINE TYPE AB*************
- 1440 V=0:GOSUB 650:GOSUB 3010:GOSUB 3040:GOSUB 3010
- 1450 LOCATE 23,1:PRINT "Press any key to display SOLUTIONS 3 and 4 ........"
- 1460 Y$= INKEY$:IF Y$="" THEN 1460
- 1470 V=1:GOTO 400
- 1480 REM ************PROGRAM NOTES SUBROUTINE**************
- 1490 FOR N=1 TO 79:PRINT "SOUND";:NEXT N:PRINT
- 1500 PRINT TAB(15) "LADDER MATCHING NETWORK PROGRAM NOTES:"
- 1510 FOR N=1 TO 79:PRINT "SOUND";:NEXT N:PRINT
- 1520 PRINT "1. Ladder network TYPE is a function of the ratio R1/R2 where R1 is the"
- 1530 PRINT "desired input resistance and R2 is the resistive component of the network load."
- 1540 PRINT "For purely resistive loads the rules are simple. For R1 < R2 a Type A network"
- 1550 PRINT "is required and for R1 > R2 a Type B network. In the case of complex loads the"
- 1560 PRINT "same rules apply excepting that there is now an overlap region R2 < R1 < Rp."
- 1570 PRINT "(NOTE: Rp = R2 + X2<UNK! {FD2F}>R2). In the overlap region a match can be effected using"
- 1580 PRINT "either network type."
- 1590 PRINT:PRINT "2. There are 2 solutions to each matching problem (4 in the overlap region)."
- 1600 PRINT "Loosely, these may be interpreted as high-pass or low-pass solutions although"
- 1610 PRINT "with complex loads the distinction is not always apparent."
- 1620 PRINT:PRINT "3. Values of a normalized loss function, delta, are listed for all solutions."
- 1630 PRINT "Delta provides a relative measure of network power loss (the lower delta the"
- 1640 PRINT "lower the loss. In evaluating delta it is assumed that both stray and capacitor"
- 1650 PRINT "losses are negligible, assumptions possibly suspect at higher frequencies."
- 1660 PRINT
- 1670 PRINT "4. For SWR calculations comparison LOAD SWR is displayed in the ";
- 1680 PRINT "screen header"
- 1690 PRINT "on the right."
- 1700 LOCATE 25,35:PRINT "Press any key to continue .......";
- 1710 Y$=INKEY$:IF Y$="" THEN 1710
- 1720 RETURN
- 1730 REM *************TYPE A NETWORK SCHEMATIC SUBROUTINE**********
- 1740 IF U=0 THEN LOCATE Y-2,X-2:PRINT "TYPE `A' LADDER NETWORK"
- 1750 LOCATE Y,X:PRINT "o";:FOR N=1 TO 16:PRINT "SOUND";:NEXT N:PRINT "o"
- 1760 LOCATE Y,X+4:PRINT A$:LOCATE Y,X+11:PRINT "BSAVE"
- 1770 FOR N=1 TO 3:LOCATE Y+N,X+11:PRINT "CALL";:NEXT N
- 1780 LOCATE Y+2,X:PRINT AR$:LOCATE Y+2,X+11:PRINT B$;" ";AR$
- 1790 LOCATE Y+3,X:PRINT "R1":LOCATE Y+3,X+15:PRINT "Load"
- 1800 LOCATE Y+4,X+1:FOR N=1 TO 16:PRINT "SOUND";:NEXT N:LOCATE Y+4,X+11:PRINT "MOTOR
- 1810 RETURN
- 1820 REM *************TYPE B NETWORK SCHEMATIC SUBROUTINE**********
- 1830 IF U=0 THEN LOCATE Y-2,X-2:PRINT "TYPE `B' LADDER NETWORK"
- 1840 LOCATE Y,X:PRINT "o";:FOR N=1 TO 16:PRINT "SOUND";:NEXT N:PRINT "o"
- 1850 LOCATE Y,X+10:PRINT A$:LOCATE Y,X+6:PRINT "BSAVE"
- 1860 FOR N=1 TO 3:LOCATE Y+N,X+6:PRINT "CALL";:NEXT N
- 1870 LOCATE Y+2,X:PRINT AR$:LOCATE Y+2,X+6:PRINT B$:LOCATE Y+2,X+15:PRINT AR$
- 1880 LOCATE Y+3,X:PRINT "R1":LOCATE Y+3,X+15:PRINT "Load"
- 1890 LOCATE Y+4,X+1:FOR N=1 TO 16:PRINT "SOUND";:NEXT N:LOCATE Y+4,X+6:PRINT "MOTOR
- 1900 RETURN
- 1910 REM SWR CALCULATION FOR TYPE A NETWORK
- 1920 LOCATE 4,48:COLOR 14:PRINT "LOAD SWR = ";:PRINT USING "##.##";SWR0:COLOR 7
- 1930 GOSUB 3010:LOCATE 23,1
- 1940 PRINT "CALCULATE SWR for variations in network values of SOLUTION 1 (y/n)....?"
- 1950 Y$=INKEY$:IF Y$="" THEN 1950
- 1960 IF Y$="N" OR Y$="n" THEN 2180
- 1970 IF Y$="Y" OR Y$="y" THEN 1990
- 1980 GOTO 2500
- 1990 IF XA1 >=0 THEN A1$="La (uH)" ELSE A1$= "Ca (pF)"
- 2000 IF XB1 >=0 THEN B1$="Lb (uH)" ELSE B1$= "Cb (pF)"
- 2010 LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T
- 2020 LOCATE 22,1:PRINT "ENTER ladder component value ";A1$;:INPUT N1
- 2030 LOCATE 23,1:PRINT "ENTER ladder component value ";B1$;:INPUT N2
- 2040 VIEW PRINT 22 TO 24:CLS:VIEW PRINT
- 2050 LOCATE 11,55:COLOR 14:PRINT "For values"
- 2060 LOCATE 12,55:FOR T=55 TO 79:PRINT" ";:NEXT T:LOCATE 12,55:PRINT A1$;" = ";N1
- 2070 LOCATE 13,55:FOR T=55 TO 79:PRINT" ";:NEXT T:LOCATE 13,55:PRINT B1$;" = ";N2
- 2080 IF XA1 >=O THEN XA= W*N1*9.99E-07 ELSE XA = -1/(W*N1*0)
- 2090 IF XB1 >=O THEN XB= W*N2*9.99E-07 ELSE XB = -1/(W*N2*0)
- 2100 XT = 1/(1/XB +1/XP):K=RP*XT/(RP*RP+XT*XT):RI=K*XT:XI=XA+K*RP:GOSUB 1000
- 2110 LOCATE 14,55:PRINT "SWR = ";:PRINT USING "##.##";SWR:COLOR 7
- 2120 LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T
- 2130 LOCATE 23,1:PRINT "Make another SWR calculation for SOLUTION 1 (y/n)......?"
- 2140 Y$=INKEY$:IF Y$="" THEN 2140
- 2150 IF Y$="Y" OR Y$= "y" THEN 2010
- 2160 IF Y$="N" OR Y$= "n" THEN 2180
- 2170 GOTO 2140
- 2180 LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T
- 2190 GOSUB 3010:LOCATE 23,1
- 2200 PRINT "CALCULATE SWR for variations in network values in SOLUTION 2 (y/n)....?"
- 2210 Y$=INKEY$:IF Y$="" THEN 2210
- 2220 IF Y$="N" OR Y$="n" THEN 2440
- 2230 IF Y$="Y" OR Y$="y" THEN 2250
- 2240 GOTO 2210
- 2250 IF XA2 >=0 THEN A2$="La (uH)" ELSE A2$= "Ca (pF)"
- 2260 IF XB2 >=0 THEN B2$="Lb (uH)" ELSE B2$= "Cb (pF)"
- 2270 LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T
- 2280 LOCATE 22,1:PRINT "ENTER ladder component value ";A2$;:INPUT N1
- 2290 LOCATE 23,1:PRINT "ENTER ladder component value ";B2$;:INPUT N2
- 2300 VIEW PRINT 22 TO 24:CLS:VIEW PRINT
- 2310 LOCATE 17,55:COLOR 14:PRINT "For values"
- 2320 LOCATE 18,55:FOR T=55 TO 79:PRINT" ";:NEXT T:LOCATE 18,55:PRINT A2$;" = ";N1
- 2330 LOCATE 19,55:FOR T=55 TO 79:PRINT" ";:NEXT T:LOCATE 19,55:PRINT B2$;" = ";N2
- 2340 IF XA2 >=O THEN XA= W*N1*9.99E-07 ELSE XA = -1/(W*N1*0)
- 2350 IF XB2 >=O THEN XB= W*N2*9.99E-07 ELSE XB = -1/(W*N2*0)
- 2360 XT = 1/(1/XB +1/XP):K=RP*XT/(RP*RP+XT*XT):RI=K*XT:XI=XA+K*RP:GOSUB 1000
- 2370 LOCATE 20,55:PRINT "SWR = ";:PRINT USING "##.##";SWR:COLOR 7
- 2380 LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T
- 2390 LOCATE 23,1:PRINT "Make another SWR calculation for SOLUTION 2 (y/n)......?"
- 2400 Y$=INKEY$:IF Y$="" THEN 2400
- 2410 IF Y$="Y" OR Y$= "y" THEN 2270
- 2420 IF Y$="N" OR Y$= "n" THEN 2440
- 2430 GOTO 2400
- 2440 LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T:RETURN
- 2450 REM ***********SWR CALCULATION FOR TYPE B NETWORK**********
- 2460 REM
- 2470 LOCATE 4,48:COLOR 14:PRINT "LOAD SWR = ";:PRINT USING "##.##";SWR0:COLOR 7
- 2480 GOSUB 3010:LOCATE 23,1:IF V=1 THEN N$="3" ELSE N$="1"
- 2490 PRINT "CALCULATE SWR for variations in network values of SOLUTION ";N$;" (y/n)....?"
- 2500 Y$=INKEY$:IF Y$="" THEN 2500
- 2510 IF Y$="N" OR Y$="n" THEN GOSUB 3010:GOTO 2730
- 2520 IF Y$="Y" OR Y$="y" THEN GOSUB 3010:GOTO 2540
- 2530 GOTO 2500
- 2540 IF XA1 >=0 THEN A1$="La (uH)" ELSE A1$= "Ca (pF)"
- 2550 IF XB1 >=0 THEN B1$="Lb (uH)" ELSE B1$= "Cb (pF)"
- 2560 LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T
- 2570 LOCATE 22,1:PRINT "ENTER ladder component value ";A1$;:INPUT N1
- 2580 LOCATE 23,1:PRINT "ENTER ladder component value ";B1$;:INPUT N2
- 2590 VIEW PRINT 22 TO 24:CLS:VIEW PRINT
- 2600 LOCATE 11,55:COLOR 14:PRINT "For values"
- 2610 LOCATE 12,55:FOR T=55 TO 79:PRINT" ";:NEXT T:LOCATE 12,55:PRINT A1$;" = ";N1
- 2620 LOCATE 13,55:FOR T=55 TO 79:PRINT" ";:NEXT T:LOCATE 13,55:PRINT B1$;" = ";N2
- 2630 IF XA1 >=O THEN XA= W*N1*9.99E-07 ELSE XA = -1/(W*N1*0)
- 2640 IF XB1 >=O THEN XB= W*N2*9.99E-07 ELSE XB = -1/(W*N2*0)
- 2650 XT=XA+X2:SQ=R2*R2+(XB+XT)*(XB+XT):RI=R2*XB*XB/SQ: XI=XB*(R2*R2+XT*(XB+XT))/SQ:GOSUB 1000
- 2660 LOCATE 14,55:PRINT "SWR = ";:PRINT USING "##.##";SWR:COLOR 7
- 2670 LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T
- 2680 LOCATE 23,1:PRINT "Make another SWR calculation for SOLUTION ";N$;" (y/n)......?"
- 2690 Y$=INKEY$:IF Y$="" THEN 2690
- 2700 IF Y$="Y" OR Y$= "y" THEN 2560
- 2710 IF Y$="N" OR Y$= "n" THEN 2730
- 2720 GOTO 2690
- 2730 LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T
- 2740 LOCATE 23,1:IF V=1 THEN N$="4" ELSE N$="2"
- 2750 PRINT "CALCULATE SWR for variations in network values in SOLUTION ";N$;" (y/n)....?"
- 2760 Y$=INKEY$:IF Y$="" THEN 2760
- 2770 IF Y$="N" OR Y$="n" THEN 2990
- 2780 IF Y$="Y" OR Y$="y" THEN 2800
- 2790 GOTO 2760
- 2800 IF XA2 >=0 THEN A2$="La (uH)" ELSE A2$= "Ca (pF)"
- 2810 IF XB2 >=0 THEN B2$="Lb (uH)" ELSE B2$= "Cb (pF)"
- 2820 LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T
- 2830 LOCATE 22,1:PRINT "ENTER ladder component value ";A2$;:INPUT N1
- 2840 LOCATE 23,1:PRINT "ENTER ladder component value ";B2$;:INPUT N2
- 2850 VIEW PRINT 22 TO 24:CLS:VIEW PRINT
- 2860 LOCATE 17,55:COLOR 14:PRINT "For values"
- 2870 LOCATE 18,55:FOR T=55 TO 79:PRINT" ";:NEXT T:LOCATE 18,55:PRINT A2$;" = ";N1
- 2880 LOCATE 19,55:FOR T=55 TO 79:PRINT" ";:NEXT T:LOCATE 19,55:PRINT B2$;" = ";N2
- 2890 IF XA2 >=O THEN XA= W*N1*9.99E-07 ELSE XA = -1/(W*N1*0)
- 2900 IF XB2 >=O THEN XB= W*N2*9.99E-07 ELSE XB = -1/(W*N2*0)
- 2910 XT=XA+X2:SQ=R2*R2+(XB+XT)*(XB+XT):RI=R2*XB*XB/SQ: XI=XB*(R2*R2+XT*(XB+XT))/SQ:GOSUB 1000
- 2920 LOCATE 20,55:PRINT "SWR = ";:PRINT USING "##.##";SWR:COLOR 7
- 2930 LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T
- 2940 LOCATE 23,1:PRINT "Make another SWR calculation for SOLUTION ";N$;" (y/n)......?"
- 2950 Y$=INKEY$:IF Y$="" THEN 2950
- 2960 IF Y$="Y" OR Y$= "y" THEN 2820
- 2970 IF Y$="N" OR Y$= "n" THEN 2990
- 2980 GOTO 2950
- 2990 LOCATE 23,1:FOR T=1 TO 79:PRINT " ";:NEXT T:RETURN
- 3000 '
- 3010 LOCATE 25,1:PRINT STRING$(80,32); 'blank screen line 25
- 3020 RETURN
- 3030 '
- 3040 'HARDCOPY
- 3050 GOSUB 3160:LOCATE 25,2:COLOR 14,6
- 3060 PRINT " Press 1 to print screen, 2 to print screen & ";
- 3070 PRINT "advance paper, or 3 to continue.";:COLOR 7,0
- 3080 Z$=INKEY$:IF Z$="3"THEN GOSUB 3160:RETURN
- 3090 IF Z$="1"OR Z$="2"THEN GOSUB 3160:GOTO 3110
- 3100 GOTO 3080
- 3110 FOR QX=1 TO 24:FOR QY=1 TO 80
- 3120 LPRINT CHR$(SCREEN(QX,QY));
- 3130 NEXT QY:NEXT QX
- 3140 IF Z$="2"THEN LPRINT CHR$(12)
- 3150 GOTO 3050
- 3160 LOCATE 25,1:PRINT STRING$(80,32);:RETURN
-